package com.saep.persistencia;

import com.saep.modelo.Empresa;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

/**
 *
 * @author Estudiante
 */
@Stateless
public class EmpresaDAO implements IEmpresaDAO {

    @PersistenceContext
    private EntityManager entityManager;

    @Override
    public void registrarEmpresa(Empresa empresa) {
        try {
            entityManager.persist(empresa);
        } catch (Exception e) {
            throw e;
        }
    }

    @Override
    public void modificarEmpresa(Empresa empresa) {
        try {
            entityManager.merge(empresa);

        } catch (Exception e) {
            throw e;
        }
    }

    @Override
    public void eliminarEmpresa(Empresa empresa) {
        try {
            entityManager.remove(empresa);
        } catch (Exception e) {
            throw e;
        }
    }

    @Override
    public List<Empresa> consultarEmpresas() {
        try {
            String jpql = "Select empresa From Empresa empresa";
            Query query = entityManager.createQuery(jpql);
            return query.getResultList();
        } catch (Exception e) {
            throw e;
        }

    }

    @Override
    public Empresa consultarPorNumeroEmpresa(Integer numeroEmpresa) {
        return entityManager.find(Empresa.class, numeroEmpresa);
    }

}
